Exploring an Aspect-Oriented Approach to OS Code
نویسندگان
چکیده
Operating system code is complex. But, while substantial complexity is inherent to this domain, we believe that other complexity is caused by modularity problems. In this paper, we explore aspect-oriented programming as a means of making this kind of complexity unnecessary. We show that simple linguistic constructs can be used to modularize prefetching – an aspect of the system that is otherwise unclear because its implementation is spread out in the code.
منابع مشابه
Crosscutting the Great Divide: Exploring an Aspect-Oriented Approach to OS Code Thesis Proposal
Operating system code is complex. But, while substantial complexity is inherent to this domain, some complexity is caused by modularity problems. The goal of the work proposed here is to explore aspectoriented programming as a means of making this kind of complexity unnecessary. Towards this end, we need to identify aspects of the system, use the proposed mechanisms of AOP to modularize them, a...
متن کاملDwarf Frankenstein is still in your memory: tiny code reuse attacks
Code reuse attacks such as return oriented programming and jump oriented programming are the most popular exploitation methods among attackers. A large number of practical and non-practical defenses are proposed that differ in their overhead, the source code requirement, detection rate and implementation dependencies. However, a usual aspect among these methods is consideration of the common be...
متن کاملExploring an Aspect-Oriented Approach to Operating System Code
This paper presents the initial results of our experiment using an aspect-oriented approach to simplify operating system code. The intuition behind this work is that complexity comes from crosscutting concerns. In this experiment, we re-implemented prefetching for page fault handling and file system read requests using a hypothetical language, AspectC – a variant of AspectJ for C – and hand-com...
متن کاملCoping with Evolution: Aspects vs Aspirin?
Attempts to evolve a code base in an effective and comprehensible manner can give almost anyone a headache. For example, consider version 2 vs version 3 of FreeBSD’s implementation of the Network File System (NFS) [5]. The v2 code base is approximately 10,000 lines, to which the integration of v3 adds over 100 small, scattered clusters of code. Although this code is differentiated from v2 by ap...
متن کاملProgramming OS Schedulers with Domain-Specific Languages and Aspects: New Approaches for OS Kernel Engineering∗
There is a continuous demand for new scheduling policies to address specific requirements of modern OSes. However, the implementation of such policies within an existing OS kernel raises many problems, mainly because optimizations within schedulers hinder code maintenance and implementation of existing schedulers is spread over the kernel. In this paper we motivate that schedulers form an aspec...
متن کامل